package com.quad.innovators.salesease.service.warehouse;

import com.baomidou.mybatisplus.extension.service.IService;
import com.quad.innovators.salesease.model.entity.warehouse.SaleOrderScan;
import com.quad.innovators.salesease.model.form.warehouse.SaleOrderScanForm;
import com.quad.innovators.salesease.model.vo.warehouse.SaleReturnScanNumberVO;
import com.quad.innovators.salesease.model.vo.warehouse.ScanCodeVO;

import java.util.List;

/**
 * @author : shanshan.li
 * @createTime : 2024/12/25 11:35
 * @Version : 1.0 
 */
public interface SaleOrderScanService extends IService<SaleOrderScan> {
    /**
     * 根据销售单详情code获取扫码详情
     * @param saleOrderDetailCode 销售单详情code
     * @return 返回扫码详情列表
     */
    List<ScanCodeVO> getScanDetail(String saleOrderDetailCode);

    /**
     * 根据销售退货单code获取该订单扫码详情
     * @param code 销售退货单code
     * @return 返回扫码详情列表
     */
    List<ScanCodeVO> getScanDetailBySaleReturnCode(String code);

    /**
     * 新增扫码
     * @param form 返回新增的code
     * @return
     */
    String save(SaleOrderScanForm form);

    boolean delete(String code);

    List<SaleOrderScanForm> getListByVehicleCode(String saleOrderDetailCode);

    /**
     * 根据销售退货详情code列表, 返回销售退货单扫码数量
     * @param stringList 销售退货单列表
     * @return 返回销售退货单扫码数量
     */
    List<SaleReturnScanNumberVO> getScanNumberInDetailCodeList(List<String> stringList);
}
